/*
 * @Author: chentao 
 * @Date: 2022-05-16 14:25:35 
 * @Last Modified by: chentao
 * @Last Modified time: 2022-05-16 17:04:08
 * 笔记描述：在typescript中函数重载跟在JAVA中是不同的，在ts中要先声明所需要的函数 不带函数体，
 * 然后专门写一个带函数体的函数来实现对应的函数逻辑
 */
//第一步声明2个同名的函数体
function add(x: number, y: number): number;
function add(x: any[], y: any[]): any[];

function add(x: number | any[], y: number | any[]): any {
    if (typeof x === 'number' && typeof y === 'number') {
        return x + y;
    }
    if (Array.isArray(x) && Array.isArray(y)) {
        return [...x, ...y]
    }
}

console.log(add(1,2))